package foliotracker.views;

import foliotracker.PortfolioCollection;
import foliotracker.controllers.PortfolioCollectionController;
import foliotracker.controllers.*;
import foliotracker.*;
/**
 * Main view interface for the application.
 */
public interface IFolioTrackerView
{
	/**
	 * Shows an error to the user.
	 * @param message The error message to show.
	 */
	void showError(String message);
	
	/**
	 * Closes all documents open in the application.
	 */
	void closeOpenDocuments();
	
	/**
	 * Opens the portfolio collection view.
	 * @param controller
	 */
	void openPortfolioCollectionView(PortfolioCollectionController controller, PortfolioCollection collection);
	
	
	/**
	 * Opens the BuyStock view
	 * @param buy
	 */
	
	void openBuyStockView(BuyStockController buy);
	
	/**
	 * Opens the SellStock view
	 * @param sell
	 * @param portfolio
	 */
	
	void openSellStockView(SellStockController sell);
	/**
	 * Tells the view the percentage completion of a task in progress.
	 * @param percentage
	 */
	
	void updatePercentageComplete(int percentage);
	
	/**
	 * Opens the portfolio view.
	 * @param controller
	 */
	void openPortfolioView(Portfolio portfolio);
	
	/**
	 * Opens the stock view to show the stock history.
	 * @param stock
	 */
	void openStockView(Stock stock);
}
